package com.kaizeli.website.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.kaizeli.website.pojo.entity.ContractPersonnelDO;
import com.kaizeli.website.response.Result;

import java.util.List;

/**
 * 合同人员服务接口
 */
public interface ContractPersonnelService extends IService<ContractPersonnelDO> {
    
    /**
     * 根据项目编号获取合同人员列表
     * @param projectCode 项目编号
     * @return 合同人员列表
     */
    Result<List<ContractPersonnelDO>> getPersonnelByProjectCode(String projectCode);
    
    /**
     * 创建合同人员
     * @param contractPersonnel 合同人员信息
     * @return 创建结果
     */
    Result<ContractPersonnelDO> createContractPersonnel(ContractPersonnelDO contractPersonnel);
    
    /**
     * 批量创建合同人员
     * @param contractPersonnelList 合同人员列表
     * @return 创建结果
     */
    Result<List<ContractPersonnelDO>> batchCreateContractPersonnel(List<ContractPersonnelDO> contractPersonnelList);
    
    /**
     * 更新合同人员
     * @param contractPersonnel 合同人员信息
     * @return 更新结果
     */
    Result<ContractPersonnelDO> updateContractPersonnel(ContractPersonnelDO contractPersonnel);
    
    /**
     * 删除合同人员
     * @param id 合同人员ID
     * @return 删除结果
     */
    Result<Void> deleteContractPersonnel(Long id);
}